The present invention relates generally to communication systems, and, more particularly, to a baseband system-on-chip (SoC) in a base station of a communication system.
A general packet radio service (GPRS) communication system includes a server GPRS support node (SGSN), a gateway GPRS support node (GGSN), a mobile switching center (MSC), location registers, a radio network controller (RNC), NodeB, and user equipment (UE). The NodeB facilitates communication between the UEs and the SGSN by way of a radio access network (RAN). The terms SGSN, GGSN, and NodeB are technology standard-specific, and in this case are used in context of the third generation (3G) communication standard for wireless cellular communication. For example, a NodeB in the 3G communication standard corresponds to an Evolved Node B (eNodeB) in the fourth generation (4G) communication standard. The 4G communication standard is also referred to as long-term evolution (LTE) or long-term evolution-advanced (LTE-A) standards.
In the LTE and LTE-A standards, an evolved universal terrestrial radio access network (E-UTRAN) includes multiple UEs in communication with multiple eNodeBs. Examples of UEs include hand-held devices such as cellular phones, tablets, pads, personal digital assistants (PDAs), and laptops with a mobile broadband adapter. An eNodeB and a UE communicate by way of uplink and downlink communication channels. The uplink communication channels include physical uplink channels, transport uplink channels, and logical uplink channels. The physical uplink channels include a physical uplink control channel (PUCCH), a physical uplink shared channel (PUSCH), and a physical random access channel (PRACH).
The UE transmits user and control data to the eNodeB over the PUSCH. The control data includes channel quality indicators (CQI), a multiple-input and multiple-output (MIMO) feedback, hybrid automatic repeat requests (HARQ ACK/NACK), and scheduling requests. As the E-UTRAN includes multiple UEs communicating with at least one eNodeB, the eNodeB allocates resource blocks to the multiple UEs for the uplink transmission of user and control data.
One way to implement uplink transmission of the user and control data from the UEs is to use a multi-user multiple-input and multiple-output (MU-MIMO) system. The UEs transmit their user and control data to the eNodeB over the PUSCH as code words. A command submission for a UE is complete when the code words for that UE are received by the eNodeB. In MU-MIMO systems, each UE is allocated a layer, which is a group of carrier frequencies and a spatial matrix. The spatial matrix corresponds to various antenna configurations used by the UE to transmit the code words to the eNodeB. The UE transmits the code words to the eNodeB over the layer. The PUSCH includes multiple such layers over which the UEs transmit their code words. Thus, the UEs share the bandwidth allocated for the uplink communication by the eNodeB.
Generally, the eNodeB receives the user and control data in a random sequence. The user and control data of adjacent physical uplink transmission layers can interfere with each other, resulting in corruption of the data. Thus, the eNodeB performs signal restoration operations on the received data using mean-square error (MSE) and successive interference cancellation (SIC) algorithms.
Typically, the eNodeB includes a baseband system-on-a chip (SoC) that receives the user and control data transmitted by the UEs roaming within multiple radio cells. The baseband SoC includes a hardware accelerator that performs the signal restoration operations. The hardware accelerator receives the code words from the UEs and performs PUSCH layer mapping operations on the code words to generate mapped code words. The mapped code words are also processed using software, which performs the signal restoration operations using the mapped code words on a per radio cell basis. However, the software does not receive the mapped code words on a per radio cell basis. As a result, latency is introduced in the signal restoration operations.
To ensure efficient execution of the signal restoration operations, the software should receive the mapped code words on a per radio cell basis i.e., the mapped code words are grouped based on their corresponding radio cells. Further, the sequence in which the groups of mapped code words are provided to the software should be defined.
One known technique to generate the groups of mapped code words based on the radio cells is to perform the PUSCH layer mapping operations on the code words on a per radio cell basis. In this technique, a layer mapper maps the code words to the corresponding layers based on the corresponding radio cells, i.e., the code words of a second radio cell are mapped only after the code words of a first radio cell are mapped. Thus, the PUSCH layer mapping operations are performed on groups of code words based on the radio cells to generate corresponding groups of mapped code words. Then the software receives the groups of mapped code words and executes the signal restoration operations on a per radio cell basis. However, as the code words received from the second radio cell are queued until the code words from the first radio cell are mapped, latency is introduced in the PUSCH layer mapping operations and consequently in the signal restoration operations.
It would be advantageous to have a scheduler that reduces the latency in the execution of the signal restoration operations performed in the baseband SoC.